package handle;

import core.Handler;
import core.HandlerContext;
import http.HttpRequest;

public class MyHandler2 implements Handler {
    @Override
    public void channelRead(HandlerContext ctx, Object msg) {
        // 读取时的业务处理
        System.out.println("hander2-接收:" + msg);
        // 响应回复语
        String str="hello World!";
        String response=String.format("HTTP/1.1 200 OK\r\nContent-Length: %d\r\nContent-Type: text/html;charset=UTF-8\r\n\r\n%s",str.length(),str);
        this.write(ctx,response);
        // 刷新回复
        this.flush(ctx); //传递到头节点
        //ctx.channel.doFlush(); //在头节点调用
    }

    @Override
    public void write(HandlerContext ctx, Object msg) {
        // 写出时的业务处理
        System.out.println("handler2-写出:"+msg.toString());
        // 传递给上一个
        ctx.write(msg);
    }

    @Override
    public void flush(HandlerContext ctx) {
        // 执行写出时处理
        System.out.println("handler2-flush");
        // 传递给上一个
        ctx.flush();
    }
}
